package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.domain.FileModel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 【请填写功能名称】对象 sys_timeflow
 * 
 * @author paul
 * @date 2023-06-19
 */
public class SysTimeflow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 待打款时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "待打款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date remitTime;

    /** 实际打款时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际打款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realRemitTime;

    /** 4S申请解押时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "4S申请解押时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyUpzipTime;

    /** 银行释放证书时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "银行释放证书时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bankBookTime;

    /** C端申请贷款时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "C端申请贷款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date customerApplyTime;

    /** C端贷款到账时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "C端贷款到账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date customerReceiveTime;

    /** 物流发货时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "物流发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flowSendTime;

    /** 物流到货时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "物流到货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date flowReceiveTime;

    /** 关联车辆编码 */
    @Excel(name = "关联车辆编码")
    private Long carId;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long createUserid;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long updateUserid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setRemitTime(Date remitTime) 
    {
        this.remitTime = remitTime;
    }

    public Date getRemitTime() 
    {
        return remitTime;
    }
    public void setRealRemitTime(Date realRemitTime) 
    {
        this.realRemitTime = realRemitTime;
    }

    public Date getRealRemitTime() 
    {
        return realRemitTime;
    }
    public void setApplyUpzipTime(Date applyUpzipTime) 
    {
        this.applyUpzipTime = applyUpzipTime;
    }

    public Date getApplyUpzipTime() 
    {
        return applyUpzipTime;
    }
    public void setBankBookTime(Date bankBookTime) 
    {
        this.bankBookTime = bankBookTime;
    }

    public Date getBankBookTime() 
    {
        return bankBookTime;
    }
    public void setCustomerApplyTime(Date customerApplyTime) 
    {
        this.customerApplyTime = customerApplyTime;
    }

    public Date getCustomerApplyTime() 
    {
        return customerApplyTime;
    }
    public void setCustomerReceiveTime(Date customerReceiveTime) 
    {
        this.customerReceiveTime = customerReceiveTime;
    }

    public Date getCustomerReceiveTime() 
    {
        return customerReceiveTime;
    }
    public void setFlowSendTime(Date flowSendTime) 
    {
        this.flowSendTime = flowSendTime;
    }

    public Date getFlowSendTime() 
    {
        return flowSendTime;
    }
    public void setFlowReceiveTime(Date flowReceiveTime) 
    {
        this.flowReceiveTime = flowReceiveTime;
    }

    public Date getFlowReceiveTime() 
    {
        return flowReceiveTime;
    }
    public void setCarId(Long carId) 
    {
        this.carId = carId;
    }

    public Long getCarId() 
    {
        return carId;
    }
    public void setCreateUserid(Long createUserid) 
    {
        this.createUserid = createUserid;
    }

    public Long getCreateUserid() 
    {
        return createUserid;
    }
    public void setUpdateUserid(Long updateUserid) 
    {
        this.updateUserid = updateUserid;
    }

    public Long getUpdateUserid() 
    {
        return updateUserid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("remitTime", getRemitTime())
            .append("realRemitTime", getRealRemitTime())
            .append("applyUpzipTime", getApplyUpzipTime())
            .append("bankBookTime", getBankBookTime())
            .append("customerApplyTime", getCustomerApplyTime())
            .append("customerReceiveTime", getCustomerReceiveTime())
            .append("flowSendTime", getFlowSendTime())
            .append("flowReceiveTime", getFlowReceiveTime())
            .append("carId", getCarId())
            .append("createUserid", getCreateUserid())
            .append("updateUserid", getUpdateUserid())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
